Infinite Recursion (IR)

Description:

IR detects situations where infinite recursion occurs during program execution.

Incorrect:

class List {
    private Buffer buf = new Buffer(this);
	
    int size() {
        return buf.size();
    }
}

class Buffer {
    private List list;

    Buffer(List list) {
        this.list = list;
    }

    int size() {
        return list.size();
    }
}